package br.senac.arqpad.pizzaria.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.ManyToOne;

public class Pedido implements Serializable,ClasseComId {

	private static final long serialVersionUID = -8023887542813558104L;

	private long id;
	private Date data;
	private Date horaPedido;
	private Date horaEntrega;
	private Cliente cliente;
	private Motoqueiro motoqueiro;
	
	@ManyToOne
	private List<ItemPedido> itens;
		
	@Override
	public Serializable getId() {
		return id;
	}

	@Override
	public void setId(Serializable Id) {
		this.id = (Long) Id;
	}

	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	public Date getHoraPedido() {
		return horaPedido;
	}

	public void setHoraPedido(Date horaPedido) {
		this.horaPedido = horaPedido;
	}

	public Date getHoraEntrega() {
		return horaEntrega;
	}

	public void setHoraEntrega(Date horaEntrega) {
		this.horaEntrega = horaEntrega;
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public Motoqueiro getMotoqueiro() {
		return motoqueiro;
	}

	public void setMotoqueiro(Motoqueiro motoqueiro) {
		this.motoqueiro = motoqueiro;
	}
	
	public List<ItemPedido> getItens() {
		return itens;
	}

	public void adicionarItem(Pizza pizza,int quantidade) {
		itens.add( new ItemPedido(quantidade, pizza) );
	}
	
	public void definirCliente(Cliente cliente) {
		setCliente(cliente);
	}
	
	public void definirMotoqueiro(Motoqueiro motoqueiro) {
		setMotoqueiro(motoqueiro);
	}
	
	public float valorTotal() {
		float valor = 0;
		
		for (ItemPedido item : itens) {
			valor += item.getValorItem();
		}
				
		return valor;
	}
	
}
